#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

//文本改变的时候触发信号对应的槽函数
void Widget::on_textEdit_textChanged()
{
    //统计字符个数
    const size_t text_size = ui->textEdit->toPlainText().size();
    QString str = "文本字数：";
    str += QString::number(text_size);
    //更新文章字符个数
    ui->label_size->setText(str);
}

//选中的文本发生改变的时候触发信号对应的和槽函数
void Widget::on_textEdit_selectionChanged()
{
    //获取光标选中的文本内容
    QTextCursor cursor = ui->textEdit->textCursor();
    const size_t path_size = cursor.selectedText().size();
    QString str = "选中字数：";
    str += QString::number(path_size);
    //更新选中文本字符个数
    ui->label_path_size->setText(str);
}

//光标位置发生改变触发信号对应的槽函数
void Widget::on_textEdit_cursorPositionChanged()
{
    //获取光标位置
    QTextCursor cursor = ui->textEdit->textCursor();
    const size_t pos = cursor.position();

    QString str = "光标位置：";
    str += QString::number(pos);
    //更新文本中记录的光标位置
    ui->label_pos->setText(str);
}
